The invention relates to preparation of electronic financial documents, such as electronic tax returns. Tax preparation programs have become very popular and allow a user, such as an individual, taxpayer, accountant, or tax professional, to prepare and electronically file a tax return using a computer. Known tax preparation programs present a list of tax-related questions or data entry fields to the user as a series of interview screens or fillable forms, in response to which the user enters the appropriate data or answers. For example, in an individual tax return, certain interview screens or questions may involve personal and family matters such as name, address, social security number, marital status, number of dependents, etc. Other interview screens and questions may involve financial matters such as wages, retirement plan contributions, and social security, state and federal taxes paid or withheld as provided in Form-W2, charitable contributions, mortgage interest paid, property tax paid, etc. The electronic tax return may also be a business or corporate return with business related income and expense items. After entry of the data, the tax preparation application prepares an electronic tax return, which is formatted as necessary and electronically filed with a tax authority, such as the Internal Revenue Service (IRS), state tax authority, or other tax collecting entity.
While tax preparation programs have been used effectively in the past to prepare and file tax returns, their effectiveness relies in part upon data input into the electronic tax return. The data, whether entered manually or imported from another program or file, may be as accurate as its source and may be inaccurate for various reasons. For example, it is not uncommon for manually entered data to be wrong for various reasons including human error, defective keyboards and issues with programs and files. Human error may involve typographical errors such as pressing the wrong number, pressing a number one too many or one to few times, pressing two keys inadvertently, inserting a comma in the wrong place, inserting a decimal point in the wrong place, or simply entering correctly typed data in the wrong field. Similar errors may be caused by computer components, such as a defective keyboard that has an inoperable or sticky key and programs or files that do not operate as intended or that have corrupted data. Similar issues may arise with data that is imported from another program or file. There may also be cases in which a tax preparation program generates errors while importing data from another program or file.
These errors are often caught by a diagnostic routine that is run at the end of the data input process. For example, known tax preparation programs, such as TurboTax® (available from Intuit Inc.) and other tax preparation programs conduct a final review (examples of final review screens illustrated in FIGS. 1A-C) to check for errors in a completed tax return and to assess the risk of an audit (example of audit screen shown in FIG. 1D) by a tax authority. For example, a tax preparation program, such as TurboTax®, may perform a final review to check for formalities, such as empty fields that should be populated with data or boxes that need to be checked to ensure that no available deductions or credits were missed (e.g., if the preparer did not review certain interview screens or fill out certain sections of the tax return).
However, resorting to diagnostics to catch errors at the end of the data input process increases inefficiencies in client workflow, and increases rework or review time for tax preparers. Furthermore, errors that are not caught by the diagnostics may cause an electronically filed tax return to be rejected by one or more tax authorities. In particular, each tax authority defines data schema that impose data constraints on the output of the tax preparation program, so that the output data can be accepted and automatically processed by the respective tax authority. Data schema imposes constraints on the completeness, integrity, and format (or architectural structure) of the output data. For example, an answer to a question entered into a particular data field must be binary (Y/N), or the data entered into a social security data field must contain only nine numbers in the range of 111-11-1111 to 99-99-9999. Any data varying from the data defined by the schema will cause an error.
One example of schema developed by the Internal Revenue Service is based on Modernized e-file (MeF) system. MeF uses extensible markup language (XML) format that is used when identifying, storing, and transmitting data. For example, each line or data element on a tax form is given an XML name tag as well as every instance of supporting data. Tax form preparation software uses XML schemas and business rules to electronically prepare and transmit tax forms to the appropriate tax agencies. The IRS validates the transmitted files against the XML schemas in the MeF schema.
In a typical embodiment, this data schema will be incorporated into the diagnostics of the tax preparation program, such that errors in the data input into data entry fields that do not comply with the schema are flagged for correction prior to transmittal of the output data to the tax authority. However, tax authorities periodically update their data schema, which either require programmers to tediously incorporate the updated data schema into the tax preparation program or will cause schema errors in the output data, resulting in the rejection of the tax return. This issue is compounded by the fact that a tax preparation program needs to accommodate the schema for multiple tax authorities. For example, in the United States, a tax preparation program should accommodate a federal tax authority and fifty state tax authorities.
There, thus, remains a need to provide a means for catching errors when data is entered into the data fields of a tax preparation program without having to modify the tax preparation program in response to periodic tax authority schema updates.